package com.app.sgd.controller.action;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.app.sgd.business.dao.SQLReporteDAO;
import com.app.sgd.business.facade.VariablesFacade;
import com.app.sgd.manager.SGDDispatchAction;
import com.app.sgd.model.bean.Usuario;
import com.app.sgd.util.Constants;
import com.app.sgd.util.SessionConstants;
import com.app.sgd.util.Util;
import com.app.sgd.view.actionform.ReporteForm;
import com.app.sgd.view.vo.FiltroBusquedaVO;

public class ReporteAction extends SGDDispatchAction{
	private static Logger logger = Logger.getLogger(ReporteAction.class);
	
	public void reset(ActionForm form,HttpServletRequest request){
		ReporteForm formdoc = (ReporteForm)form;
		formdoc.setLstDocumentosPlazo(new ArrayList());
		formdoc.setLstDocumentosRecepcion(new ArrayList());
		formdoc.setLstDocumentosSalida(new ArrayList());
		formdoc.setCodMovimiento(Constants.VALOR_DEFAULT_CERO);
		formdoc.setCodTipoDocumento(Constants.VALOR_DEFAULT_CERO);
		formdoc.setFechaProceso(new String());
		formdoc.setFechaInicio(new String());
		formdoc.setFechaFin(new String());
		formdoc.setUnidad(Constants.VALOR_DEFAULT_CERO);
		formdoc.setUsuarios_unidad(new String());
		formdoc.setNombreUnidad(new String());
		
		formdoc.setVista(new String());
		formdoc.setNumProveidoBusq(new String());
		formdoc.setCodMovimientoBusq(Constants.VALOR_DEFAULT_CERO);
		formdoc.setCodTipoDocumentoBusq(Constants.VALOR_DEFAULT_CERO);
		formdoc.setFlgBusquedaAvanzada(Constants.VALOR_DEFAULT_CERO);
		formdoc.setCodControlManual(Constants.VALOR_DEFAULT_CERO);
		formdoc.setFechaInicioRegistroBusq(new String());
		formdoc.setFechaFinRegistroBusq(new String());
		formdoc.setFechaInicioDocumentoBusq(new String());
		formdoc.setFechaFinDocumentoBusq(new String());
		formdoc.setFechaInicioEnvioDocumentoBusq(new String());
		formdoc.setFechaFinEnvioDocumentoBusq(new String());
		formdoc.setEstadoDocumentoBusq(Constants.VALOR_DEFAULT_CERO);
		formdoc.setFlgDocumentosAnuladosBusq(Constants.NO);
		formdoc.setHidFlgDocumentosAnuladosBusq(Constants.NO);
		formdoc.setAsuntoBusq(new String());
		formdoc.setDeClienteBusq(new String());
		formdoc.setDeEmpleadoClienteBusq(new String());
		formdoc.setDeOficinaBusq(Constants.VALOR_DEFAULT_CERO);
		formdoc.setDeEmpleadoOficinaBusq(Constants.VALOR_DEFAULT_CERO);
		formdoc.setParaClienteBusq(new String());
		formdoc.setParaEmpleadoClienteBusq(new String());
		formdoc.setParaOficinaBusq(Constants.VALOR_DEFAULT_CERO);
		formdoc.setParaEmpleadoOficinaBusq(Constants.VALOR_DEFAULT_CERO);
		
		request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_PLAZOS);
		request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_RECEPCION_DOCUMENTOS);
		request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_SALIDA_DOCUMENTOS);
		request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_RECEPCION_CARGOS);
		request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_SALIDA_DOCUMENTOS_FECHA_ENVIO);
		request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_DOCUMENTOS);
	}
	
	public ActionForward reportePlazos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			reset(form,request);
			
			ReporteForm formdoc = (ReporteForm)form;
			long fechFin = (new java.util.Date()).getTime();
			long fechIni = fechFin - Constants.FACTOR_FECHA * (Integer.parseInt(Constants.DIAS_MOSTRAR_ULTIMOS_DOCUMENTOS));
			
			formdoc.setFechaProceso(Util.getDateAsStr(new java.util.Date(fechFin)));
			formdoc.setFechaInicioRegistroBusq(Util.getDateAsStr(new java.util.Date(fechIni)));
			formdoc.setFechaFinRegistroBusq(Util.getDateAsStr(new java.util.Date(fechFin)));
			formdoc.setCodMovimientoBusq(Constants.VALOR_DEFAULT_CERO);
			
			VariablesFacade variablesFacade = new VariablesFacade();
			ArrayList lstTipoDocumento = variablesFacade.getTipoDocumento();
			request.getSession().setAttribute(SessionConstants.LISTA_TIPO_DOCUMENTO, lstTipoDocumento);
			
			request.getSession().setAttribute(SessionConstants.TIPO_BUSQUEDA, Constants.BUSQUEDA_GLOBAL);
			
			Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
			
			ArrayList lstUnidadOrigen = variablesFacade.getOficina();
			ArrayList lstUsuariosUnidadOrigen = new ArrayList();  
			ArrayList lstUsuariosUnidadDestino = new ArrayList(); 
			
			if(formdoc.getCodMovimientoBusq().equals(Constants.TIPO_MOVIMIENTO_SALIDA)){
				formdoc.setDeOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
				formdoc.setParaOficinaBusq(Constants.VALOR_DEFAULT_CERO);
				lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
				lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
			}
			else{
				formdoc.setDeOficinaBusq(Constants.VALOR_DEFAULT_CERO);
				formdoc.setParaOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
				lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
				lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
			}

			request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_OFICINAS, lstUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_ORIGEN, lstUsuariosUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_DESTINO, lstUsuariosUnidadDestino);
			
			return mapping.findForward("reportePlazos");
		}catch(Exception e){
			logger.error("[STD]: Error en reportePlazos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward cambiaTipoMovimientoPlazo(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		ReporteForm formdoc = (ReporteForm)form;
		VariablesFacade variablesFacade = new VariablesFacade();
		ArrayList lstTipoDocumento = new ArrayList(); 
		Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
		ArrayList lstUsuariosUnidadOrigen = new ArrayList();  
		ArrayList lstUsuariosUnidadDestino = new ArrayList(); 
		
		if(formdoc.getCodMovimientoBusq().equals(Constants.TIPO_MOVIMIENTO_ENTRADA)){
			lstTipoDocumento = variablesFacade.getTipoDoc_Entrada(1);
			formdoc.setDeOficinaBusq(Constants.VALOR_DEFAULT_CERO);
			formdoc.setParaOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
			lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
			lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
		}
		else{
			if(formdoc.getCodMovimientoBusq().equals(Constants.TIPO_MOVIMIENTO_SALIDA)){
				lstTipoDocumento = variablesFacade.getTipoDoc_Salida(1);
				formdoc.setDeOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
				formdoc.setParaOficinaBusq(Constants.VALOR_DEFAULT_CERO);
				lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
				lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
			}
			else{
				if(formdoc.getCodMovimientoBusq().equals(Constants.TIPO_MOVIMIENTO_INTERNO)){
					lstTipoDocumento = variablesFacade.getTipoDoc_Interno(1);
					formdoc.setDeOficinaBusq(Constants.VALOR_DEFAULT_CERO);
					formdoc.setParaOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
					lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
					lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
				}
				else{
					lstTipoDocumento = variablesFacade.getTipoDocumento();
					formdoc.setDeOficinaBusq(Constants.VALOR_DEFAULT_CERO);
					formdoc.setParaOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
					lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
					lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
				}
			}
		}
		request.getSession().setAttribute(SessionConstants.LISTA_TIPO_DOCUMENTO, lstTipoDocumento);
		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_ORIGEN, lstUsuariosUnidadOrigen);
		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_DESTINO, lstUsuariosUnidadDestino);
		
		return mapping.findForward("reportePlazos");
	}
	
	public ActionForward cambiaOficinaPlazo(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		ReporteForm formdoc = (ReporteForm)form;
		VariablesFacade variablesFacade = new VariablesFacade();
		ArrayList lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
		ArrayList lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());

		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_ORIGEN, lstUsuariosUnidadOrigen);
		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_DESTINO, lstUsuariosUnidadDestino);
		return mapping.findForward("reportePlazos");
	}
	
	public ActionForward siguiente(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("reportePlazos");
	}
	
	public ActionForward generarReportePlazos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_PLAZOS);
			ReporteForm formdoc = (ReporteForm)form;
			ArrayList lstDocumentosPlazo = new ArrayList();
			
			FiltroBusquedaVO filtroBusquedaVO = new FiltroBusquedaVO();
			filtroBusquedaVO.setFlgBusquedaAvanzada(formdoc.getFlgBusquedaAvanzada());
			filtroBusquedaVO.setCodTipoMovimiento(formdoc.getCodMovimientoBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodMovimientoBusq().trim());
			filtroBusquedaVO.setCodTipoDocumento(formdoc.getCodTipoDocumentoBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodTipoDocumentoBusq().trim());
			filtroBusquedaVO.setEstadoDocumento(formdoc.getEstadoDocumentoBusq()==null || formdoc.getEstadoDocumentoBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getEstadoDocumentoBusq());
			filtroBusquedaVO.setFechaProceso(formdoc.getFechaProceso());
			filtroBusquedaVO.setFechaInicio(formdoc.getFechaInicioDocumentoBusq());
			filtroBusquedaVO.setFechaFin(formdoc.getFechaFinDocumentoBusq());
			filtroBusquedaVO.setFechaCreacionInicio(formdoc.getFechaInicioRegistroBusq());
			filtroBusquedaVO.setFechaCreacionFin(formdoc.getFechaFinRegistroBusq());
			filtroBusquedaVO.setFechaEnvioInicio(formdoc.getFechaInicioEnvioDocumentoBusq());
			filtroBusquedaVO.setFechaEnvioFin(formdoc.getFechaFinEnvioDocumentoBusq());
			filtroBusquedaVO.setFechaVencimientoInicio(formdoc.getFechaInicioVencimientoDocumentoBusq());
			filtroBusquedaVO.setFechaVencimientoFin(formdoc.getFechaFinVencimientoDocumentoBusq());
			filtroBusquedaVO.setNumProveido(formdoc.getNumProveidoBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getNumProveidoBusq());
			filtroBusquedaVO.setNumDocumento(formdoc.getNumDocumentoBusq());
			filtroBusquedaVO.setAsunto(formdoc.getAsuntoBusq());
			filtroBusquedaVO.setReferencia(formdoc.getReferenciaBusq());
			filtroBusquedaVO.setCodControlManual(formdoc.getCodControlManual());
			filtroBusquedaVO.setFlgAnulado(formdoc.getHidFlgDocumentosAnuladosBusq()==null || formdoc.getHidFlgDocumentosAnuladosBusq().trim().length()==0 ? Constants.NO : formdoc.getHidFlgDocumentosAnuladosBusq());
			filtroBusquedaVO.setNombreClienteOrigen(formdoc.getDeClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getDeClienteBusq().trim());
			filtroBusquedaVO.setEmpleadoClienteOrigen(formdoc.getDeEmpleadoClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getDeEmpleadoClienteBusq().trim());
			filtroBusquedaVO.setNombreClienteDestino(formdoc.getParaClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getParaClienteBusq().trim());
			filtroBusquedaVO.setEmpleadoClienteDestino(formdoc.getParaEmpleadoClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getParaEmpleadoClienteBusq().trim());
			filtroBusquedaVO.setCodigoOficinaOrigen(formdoc.getDeOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getDeOficinaBusq());
			filtroBusquedaVO.setCodigoEmpleadoOficinaOrigen(formdoc.getDeEmpleadoOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getDeEmpleadoOficinaBusq());
			filtroBusquedaVO.setCodigoOficinaDestino(formdoc.getParaOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getParaOficinaBusq());
			filtroBusquedaVO.setCodigoEmpleadoOficinaDestino(formdoc.getParaEmpleadoOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getParaEmpleadoOficinaBusq());
			
			SQLReporteDAO sqlReporteDAO = new SQLReporteDAO();
			lstDocumentosPlazo = sqlReporteDAO.listarDocumentosPlazo(filtroBusquedaVO);
			
			formdoc.setLstDocumentosPlazo(lstDocumentosPlazo);
			request.getSession().setAttribute(SessionConstants.LISTA_REPORTE_PLAZOS, lstDocumentosPlazo);
			
			return mapping.findForward("reportePlazos");
		}catch(Exception e){
			logger.error("[STD]: Error en generarReportePlazos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward salidaDocs(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			reset(form,request);
			
			ReporteForm formdoc = (ReporteForm)form;
			long fechFin = (new java.util.Date()).getTime();
			long fechIni = fechFin - Constants.FACTOR_FECHA;// * (Integer.parseInt(Constants.DIAS_MOSTRAR_ULTIMOS_DOCUMENTOS));
			
			formdoc.setFechaInicio(Util.getDateAsStr(new java.util.Date(fechIni)));
			formdoc.setFechaFin(Util.getDateAsStr(new java.util.Date(fechIni)));
			
			Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
//			String tipoBusqueda = (String)request.getSession().getAttribute(SessionConstants.TIPO_BUSQUEDA);
			VariablesFacade variablesFacade = new VariablesFacade();
			ArrayList lstUnidadOrigen = variablesFacade.getOficina();//usuarioLogin,tipoBusqueda,0);
			ArrayList lstUsuariosUnidadOrigen = new ArrayList();
			formdoc.setUnidad(usuarioLogin.getEncargaturaPerfil().getCodArea());
			ArrayList lstTipoDocumento = variablesFacade.getTipoDoc_Salida(1);
			
			request.getSession().setAttribute(SessionConstants.LISTA_TIPO_DOCUMENTO, lstTipoDocumento);
			request.getSession().setAttribute(SessionConstants.LISTA_UNIDAD_ORIGEN, lstUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_USUARIOS_UNIDAD_ORIGEN, lstUsuariosUnidadOrigen);
//			request.getSession().setAttribute(SessionConstants.TIPO_BUSQUEDA, Constants.BUSQUEDA_GLOBAL);
			
			return mapping.findForward("salidaDocs");
		}catch(Exception e){
			logger.error("[STD]: Error en salidaDocs "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward siguienteSalida(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("salidaDocs");
	}
	
	public ActionForward exportarReporteSalidaDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("xlsSalidaDocumentos");
	}

	public ActionForward exportarReporteSalidaDocsFechaEnvio(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("xlsSalidaDocsPorFechaEnvio");
	}
	
	public ActionForward exportarReporteRecepcionDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("xlsRecepcionDocumentos");
	}
	
	public ActionForward exportarReportePlazosDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("xlsPlazosDocumentos");
	}
	
	public ActionForward generarReporteSalidaDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_SALIDA_DOCUMENTOS);
			ReporteForm formdoc = (ReporteForm)form;
			ArrayList lstDocumentosSalida = new ArrayList();
			
			FiltroBusquedaVO filtroBusquedaVO = new FiltroBusquedaVO();
			filtroBusquedaVO.setFechaInicio(formdoc.getFechaInicio());
			filtroBusquedaVO.setFechaFin(formdoc.getFechaFin());
			filtroBusquedaVO.setCodTipoDocumento(formdoc.getCodTipoDocumento().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodTipoDocumento().trim());
			filtroBusquedaVO.setCodOficina(formdoc.getUnidad());
			filtroBusquedaVO.setCodEmpleado(formdoc.getUsuarios_unidad());

			SQLReporteDAO sqlReporteDAO = new SQLReporteDAO();
			lstDocumentosSalida = sqlReporteDAO.listarDocumentosSalidaAreas(filtroBusquedaVO);

			formdoc.setLstDocumentosSalida(lstDocumentosSalida);
			request.getSession().setAttribute(SessionConstants.LISTA_REPORTE_SALIDA_DOCUMENTOS, lstDocumentosSalida);
			
			return mapping.findForward("salidaDocs");
		}catch(Exception e){
			logger.error("[STD]: Error en generarReporteSalidaDocumentos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward generarReporteRecepcionDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_RECEPCION_DOCUMENTOS);
			ReporteForm formdoc = (ReporteForm)form;
			ArrayList lstDocumentosRecepcion = new ArrayList();
			
			FiltroBusquedaVO filtroBusquedaVO = new FiltroBusquedaVO();
			filtroBusquedaVO.setFechaInicio(formdoc.getFechaInicio());
			filtroBusquedaVO.setFechaFin(formdoc.getFechaFin());
			filtroBusquedaVO.setCodTipoMovimiento(formdoc.getCodMovimiento());
			filtroBusquedaVO.setCodTipoDocumento(formdoc.getCodTipoDocumento().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodTipoDocumento().trim());
			filtroBusquedaVO.setCodOficina(formdoc.getUnidad());
			filtroBusquedaVO.setCodEmpleado(formdoc.getUsuarios_unidad());

			SQLReporteDAO sqlReporteDAO = new SQLReporteDAO();
			lstDocumentosRecepcion = sqlReporteDAO.listarDocumentosRecepcionAreas(filtroBusquedaVO);

			formdoc.setLstDocumentosRecepcion(lstDocumentosRecepcion);
			request.getSession().setAttribute(SessionConstants.LISTA_REPORTE_RECEPCION_DOCUMENTOS, lstDocumentosRecepcion);
			
			return mapping.findForward("recepcionDocs");
		}catch(Exception e){
			logger.error("[STD]: Error en generarReporteRecepcionDocumentos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward salidaDocsPorFechaEnvio(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			reset(form,request);
			
			ReporteForm formdoc = (ReporteForm)form;
			long fechFin = (new java.util.Date()).getTime();
			long fechIni = fechFin - Constants.FACTOR_FECHA;// * (Integer.parseInt(Constants.DIAS_MOSTRAR_ULTIMOS_DOCUMENTOS));
			
			formdoc.setFechaInicio(Util.getDateAsStr(new java.util.Date(fechIni)));
			formdoc.setFechaFin(Util.getDateAsStr(new java.util.Date(fechIni)));
			
			Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
			VariablesFacade variablesFacade = new VariablesFacade();
			ArrayList lstUnidadOrigen = variablesFacade.getOficina();//usuarioLogin,tipoBusqueda,0);
			ArrayList lstUsuariosUnidadOrigen = new ArrayList();
			formdoc.setUnidad(usuarioLogin.getEncargaturaPerfil().getCodArea());
			ArrayList lstTipoDocumento = variablesFacade.getTipoDoc_Salida(1);
			
			request.getSession().setAttribute(SessionConstants.LISTA_TIPO_DOCUMENTO, lstTipoDocumento);
			request.getSession().setAttribute(SessionConstants.LISTA_UNIDAD_ORIGEN, lstUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_USUARIOS_UNIDAD_ORIGEN, lstUsuariosUnidadOrigen);
			
			return mapping.findForward("salidaDocsPorFechaEnvio");
		}catch(Exception e){
			logger.error("[STD]: Error en salidaDocsPorFechaEnvio "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward generarReporteSalidaDocsFechaEnvio(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_SALIDA_DOCUMENTOS);
			ReporteForm formdoc = (ReporteForm)form;
			ArrayList lstDocumentosSalida = new ArrayList();
			
			FiltroBusquedaVO filtroBusquedaVO = new FiltroBusquedaVO();
			filtroBusquedaVO.setFechaInicio(formdoc.getFechaInicio());
			filtroBusquedaVO.setFechaFin(formdoc.getFechaFin());
			filtroBusquedaVO.setCodTipoDocumento(formdoc.getCodTipoDocumento().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodTipoDocumento().trim());
			filtroBusquedaVO.setCodOficina(formdoc.getUnidad());
			filtroBusquedaVO.setCodEmpleado(formdoc.getUsuarios_unidad());

			SQLReporteDAO sqlReporteDAO = new SQLReporteDAO();
			lstDocumentosSalida = sqlReporteDAO.listarDocumentosSalidaFechaEnvio(filtroBusquedaVO);

			formdoc.setLstDocumentosSalida(lstDocumentosSalida);
			request.getSession().setAttribute(SessionConstants.LISTA_REPORTE_SALIDA_DOCUMENTOS_FECHA_ENVIO, lstDocumentosSalida);
			
			return mapping.findForward("salidaDocsPorFechaEnvio");
		}catch(Exception e){
			logger.error("[STD]: Error en generarReporteSalidaDocsFechaEnvio "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward recepcionDocs(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			reset(form,request);
			
			ReporteForm formdoc = (ReporteForm)form;
			long fechFin = (new java.util.Date()).getTime();
			long fechIni = fechFin - Constants.FACTOR_FECHA;// * (Integer.parseInt(Constants.DIAS_MOSTRAR_ULTIMOS_DOCUMENTOS));
			
			formdoc.setFechaInicio(Util.getDateAsStr(new java.util.Date(fechIni)));
			formdoc.setFechaFin(Util.getDateAsStr(new java.util.Date(fechIni)));
			formdoc.setCodMovimiento(Constants.VALOR_DEFAULT_CERO);
			
			Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
//			String tipoBusqueda = (String)request.getSession().getAttribute(SessionConstants.TIPO_BUSQUEDA);
			VariablesFacade variablesFacade = new VariablesFacade();
			ArrayList lstUnidadOrigen = variablesFacade.getOficina();//usuarioLogin,tipoBusqueda,0);
			ArrayList lstUsuariosUnidadOrigen = new ArrayList();
//			lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaOrigenUsuario(usuarioLogin);
			formdoc.setUnidad(usuarioLogin.getEncargaturaPerfil().getCodArea());
			ArrayList lstTipoDocumento = variablesFacade.getTipoDocumento();
			ArrayList lstTipoMovimientoReporte = variablesFacade.getTipoMovimientoRecepcion(0);
			
			request.getSession().setAttribute(SessionConstants.LISTA_TIPO_MOVIMIENTO_REPORTE, lstTipoMovimientoReporte);
			request.getSession().setAttribute(SessionConstants.LISTA_TIPO_DOCUMENTO, lstTipoDocumento);
			request.getSession().setAttribute(SessionConstants.LISTA_UNIDAD_ORIGEN, lstUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_USUARIOS_UNIDAD_ORIGEN, lstUsuariosUnidadOrigen);
			
//			request.getSession().setAttribute(SessionConstants.TIPO_BUSQUEDA, Constants.BUSQUEDA_GLOBAL);
			
			return mapping.findForward("recepcionDocs");
		}catch(Exception e){
			logger.error("[STD]: Error en recepcionDocs "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward recepcionCargos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			reset(form,request);
			
			ReporteForm formdoc = (ReporteForm)form;
			long fechFin = (new java.util.Date()).getTime();
			long fechIni = fechFin; // - Constants.FACTOR_FECHA; //* (Integer.parseInt(Constants.DIAS_MOSTRAR_ULTIMOS_DOCUMENTOS));
			
			formdoc.setFechaInicio(Util.getDateAsStr(new java.util.Date(fechIni)));
			formdoc.setFechaFin(Util.getDateAsStr(new java.util.Date(fechIni)));
			
			Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
//			String tipoBusqueda = (String)request.getSession().getAttribute(SessionConstants.TIPO_BUSQUEDA);
			VariablesFacade variablesFacade = new VariablesFacade();
			ArrayList lstUnidadOrigen = variablesFacade.getOficina();//usuarioLogin,tipoBusqueda,0);
			formdoc.setUnidad(usuarioLogin.getEncargaturaPerfil().getCodArea());
			request.getSession().setAttribute(SessionConstants.LISTA_UNIDAD_ORIGEN, lstUnidadOrigen);
			return mapping.findForward("recepcionCargos");
		}catch(Exception e){
			logger.error("[STD]: Error en recepcionCargos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward generarReporteRecepcionCargos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_RECEPCION_CARGOS);
			ReporteForm formdoc = (ReporteForm)form;
			ArrayList lstDocumentosCargos = new ArrayList();
			
			FiltroBusquedaVO filtroBusquedaVO = new FiltroBusquedaVO();
			filtroBusquedaVO.setFechaInicio(formdoc.getFechaInicio());
			filtroBusquedaVO.setFechaFin(formdoc.getFechaFin());
			filtroBusquedaVO.setCodOficina(formdoc.getUnidad());

			SQLReporteDAO sqlReporteDAO = new SQLReporteDAO();
			lstDocumentosCargos = sqlReporteDAO.listarDocumentosCargosAreas(filtroBusquedaVO);

			formdoc.setLstDocumentosCargos(lstDocumentosCargos);
			request.getSession().setAttribute(SessionConstants.LISTA_REPORTE_RECEPCION_CARGOS, lstDocumentosCargos);
			
			return mapping.findForward("recepcionCargos");
		}catch(Exception e){
			logger.error("[STD]: Error en generarReporteRecepcionCargos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward exportarReporteRecepcionCargos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("xlsRecepcionCargos");
	}
	
	public ActionForward cambiaTipoMovimiento(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		ReporteForm formdoc = (ReporteForm)form;
		Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
		String tipoBusqueda = (String)request.getSession().getAttribute(SessionConstants.TIPO_BUSQUEDA);
		VariablesFacade variablesFacade = new VariablesFacade();
		
		ArrayList lstTipoDocumento = new ArrayList(); 
		
		if(formdoc.getCodMovimiento().equals(Constants.TIPO_MOVIMIENTO_ENTRADA)){
			lstTipoDocumento = variablesFacade.getTipoDoc_Entrada(1);
		}
		else{
			if(formdoc.getCodMovimiento().equals(Constants.TIPO_MOVIMIENTO_SALIDA)){
				lstTipoDocumento = variablesFacade.getTipoDoc_Salida(1);
			}
			else{
				if(formdoc.getCodMovimiento().equals(Constants.TIPO_MOVIMIENTO_INTERNO)){
					lstTipoDocumento = variablesFacade.getTipoDoc_Interno(1);
				}
				else
					lstTipoDocumento = variablesFacade.getTipoDocumento();
			}
		}
		request.getSession().setAttribute(SessionConstants.LISTA_TIPO_DOCUMENTO, lstTipoDocumento);
		
		return mapping.findForward("recepcionDocs");
	}
		
	public ActionForward excelSalidaDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("excelSalidaDocumentos");
	}
	
	public ActionForward excelRecepcionDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("excelRecepcionDocumentos");
	}

	public ActionForward excelReporteRecepcionCargos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("excelReporteRecepcionCargos");
	}
	
	public ActionForward excelSalidaDocsPorFechaEnvio(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("excelSalidaDocsPorFechaEnvio");
	}

	public ActionForward excelReportePlazosDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("excelPlazosDocumentos");
	}
	
	public ActionForward documentosOficinas(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			reset(form,request);
			String vista = request.getParameter("vista").trim().toUpperCase();
			
			ReporteForm formdoc = (ReporteForm)form;
			formdoc.setVista(vista);
			formdoc.setCodMovimientoBusq(Constants.VALOR_DEFAULT_CERO);
			
			Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
			
			long fechFin = (new java.util.Date()).getTime();
			long fechIni = fechFin - Constants.FACTOR_FECHA * (Integer.parseInt(Constants.DIAS_MOSTRAR_ULTIMOS_DOCUMENTOS));
			
			VariablesFacade variablesFacade = new VariablesFacade();
			ArrayList lstEstadoAtencionManual = variablesFacade.getEstadoAtencionManual();
			ArrayList lstUnidadOrigen = variablesFacade.getOficina();
			ArrayList lstUsuariosUnidadOrigen = new ArrayList();  
			ArrayList lstUsuariosUnidadDestino = new ArrayList(); 
			
			if(vista.equals(Constants.LABEL_RECIBIDOS)){
				formdoc.setDeOficinaBusq(Constants.VALOR_DEFAULT_CERO);
				formdoc.setParaOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
				lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(Constants.VALOR_DEFAULT_CERO);
				lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(usuarioLogin.getEncargaturaPerfil().getCodArea());
			}
			else{
				formdoc.setDeOficinaBusq(usuarioLogin.getEncargaturaPerfil().getCodArea());
				formdoc.setParaOficinaBusq(Constants.VALOR_DEFAULT_CERO);
				lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(usuarioLogin.getEncargaturaPerfil().getCodArea());
				lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(Constants.VALOR_DEFAULT_CERO);
			}
			
			if(vista.equals(Constants.LABEL_ENVIADOS)){
				formdoc.setCodFechaBusqueda("E");
				formdoc.setFechaInicioEnvioDocumentoBusq(Util.getDateAsStr(new java.util.Date(fechIni)));
				formdoc.setFechaFinEnvioDocumentoBusq(Util.getDateAsStr(new java.util.Date(fechFin)));
			}
			else{
				formdoc.setCodFechaBusqueda("R");
				formdoc.setFechaInicioRegistroBusq(Util.getDateAsStr(new java.util.Date(fechIni)));
				formdoc.setFechaFinRegistroBusq(Util.getDateAsStr(new java.util.Date(fechFin)));
			}
			ArrayList lstClasificacionDocu = variablesFacade.getClasificacionDocumentos();
			request.getSession().setAttribute(SessionConstants.LISTA_CLASIFICACION_DOCU, lstClasificacionDocu);
			
			request.getSession().setAttribute(SessionConstants.LISTA_ESTADO_ATENCION_MANUAL, lstEstadoAtencionManual);
			request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_OFICINAS, lstUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_ORIGEN, lstUsuariosUnidadOrigen);
			request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_DESTINO, lstUsuariosUnidadDestino);
			
			return mapping.findForward("documentosOficinas");
		}catch(Exception e){
			logger.error("[STD]: Error en documentosPorEnviar "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward cambioTipoMovimientoBusq(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		Usuario usuarioLogin = (Usuario)request.getSession().getAttribute(SessionConstants.SGD_USUARIO_SESION_ACTIVO);
		ReporteForm formdoc = (ReporteForm)form;
		formdoc.setFlgDocumentosAnuladosBusq(formdoc.getHidFlgDocumentosAnuladosBusq());
		
		VariablesFacade variablesFacade = new VariablesFacade();
		ArrayList lstUsuariosUnidadOrigen = new ArrayList();  
		ArrayList lstUsuariosUnidadDestino = new ArrayList(); 
		String vista = formdoc.getVista();
		
//		formdoc.setDeOficinaBusq(usuarioLogin.getArea().getCodigo());
//		formdoc.setParaOficinaBusq(usuarioLogin.getArea().getCodigo());

		lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
		lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());
		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_ORIGEN, lstUsuariosUnidadOrigen);
		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_DESTINO, lstUsuariosUnidadDestino);
		
		return mapping.findForward("documentosOficinas");
	}
	
	public ActionForward cambiaOficina(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		ReporteForm formdoc = (ReporteForm)form;
		formdoc.setFlgDocumentosAnuladosBusq(formdoc.getHidFlgDocumentosAnuladosBusq());
		
		VariablesFacade variablesFacade = new VariablesFacade();
		ArrayList lstUsuariosUnidadOrigen = variablesFacade.getEmpleadoAreaConsultas(formdoc.getDeOficinaBusq());
		ArrayList lstUsuariosUnidadDestino = variablesFacade.getEmpleadoAreaConsultas(formdoc.getParaOficinaBusq());

		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_ORIGEN, lstUsuariosUnidadOrigen);
		request.getSession().setAttribute(SessionConstants.LISTA_CONSULTAS_EMPLEADOS_DESTINO, lstUsuariosUnidadDestino);
		return mapping.findForward("documentosOficinas");
	}
	
	public ActionForward generarReporteDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		try{
			request.getSession().removeAttribute(SessionConstants.LISTA_REPORTE_DOCUMENTOS);
			
			ReporteForm formdoc = (ReporteForm)form;
			formdoc.setFlgDocumentosAnuladosBusq(formdoc.getHidFlgDocumentosAnuladosBusq());
			
			String vista = formdoc.getVista();
			
			FiltroBusquedaVO filtroBusquedaVO = new FiltroBusquedaVO();
			filtroBusquedaVO.setFlgBusquedaAvanzada(formdoc.getFlgBusquedaAvanzada());
			filtroBusquedaVO.setCodTipoMovimiento(formdoc.getCodMovimientoBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodMovimientoBusq().trim());
			filtroBusquedaVO.setCodTipoDocumento(formdoc.getCodTipoDocumentoBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getCodTipoDocumentoBusq().trim());
			filtroBusquedaVO.setEstadoDocumento(formdoc.getEstadoDocumentoBusq()==null || formdoc.getEstadoDocumentoBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getEstadoDocumentoBusq());
			filtroBusquedaVO.setFechaInicio(formdoc.getFechaInicioDocumentoBusq());
			filtroBusquedaVO.setFechaFin(formdoc.getFechaFinDocumentoBusq());
			filtroBusquedaVO.setFechaCreacionInicio(formdoc.getFechaInicioRegistroBusq());
			filtroBusquedaVO.setFechaCreacionFin(formdoc.getFechaFinRegistroBusq());
			filtroBusquedaVO.setFechaEnvioInicio(formdoc.getFechaInicioEnvioDocumentoBusq());
			filtroBusquedaVO.setFechaEnvioFin(formdoc.getFechaFinEnvioDocumentoBusq());
			filtroBusquedaVO.setNumProveido(formdoc.getNumProveidoBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getNumProveidoBusq());
			filtroBusquedaVO.setNumDocumento(formdoc.getNumDocumentoBusq());
			filtroBusquedaVO.setAsunto(formdoc.getAsuntoBusq());
			filtroBusquedaVO.setCodControlManual(formdoc.getCodControlManual());
			filtroBusquedaVO.setFlgAnulado(formdoc.getHidFlgDocumentosAnuladosBusq()==null || formdoc.getHidFlgDocumentosAnuladosBusq().trim().length()==0 ? Constants.NO : formdoc.getHidFlgDocumentosAnuladosBusq());
			filtroBusquedaVO.setNombreClienteOrigen(formdoc.getDeClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getDeClienteBusq().trim());
			filtroBusquedaVO.setEmpleadoClienteOrigen(formdoc.getDeEmpleadoClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getDeEmpleadoClienteBusq().trim());
			filtroBusquedaVO.setNombreClienteDestino(formdoc.getParaClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getParaClienteBusq().trim());
			filtroBusquedaVO.setEmpleadoClienteDestino(formdoc.getParaEmpleadoClienteBusq().trim().length()==0 ? Constants.VALOR_DEFAULT_VACIO : formdoc.getParaEmpleadoClienteBusq().trim());
			filtroBusquedaVO.setCodigoOficinaOrigen(formdoc.getDeOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getDeOficinaBusq());
			filtroBusquedaVO.setCodigoEmpleadoOficinaOrigen(formdoc.getDeEmpleadoOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getDeEmpleadoOficinaBusq());
			filtroBusquedaVO.setCodigoOficinaDestino(formdoc.getParaOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getParaOficinaBusq());
			filtroBusquedaVO.setCodigoEmpleadoOficinaDestino(formdoc.getParaEmpleadoOficinaBusq().length()==0 ? Constants.VALOR_DEFAULT_CERO : formdoc.getParaEmpleadoOficinaBusq());
			filtroBusquedaVO.setCodClasificacionDocu(formdoc.getCodClasificacionDocu());
			
			SQLReporteDAO sqlReporteDAO = new SQLReporteDAO();
			
			if (vista.equals(Constants.LABEL_RECIBIDOS))
				filtroBusquedaVO.setVista(Constants.VISTA_RECIBIDOS);
			else if (vista.equals(Constants.LABEL_ENVIADOS))
				filtroBusquedaVO.setVista(Constants.VISTA_ENVIADOS);
			else if (vista.equals(Constants.LABEL_POR_ENVIAR))
				filtroBusquedaVO.setVista(Constants.VISTA_POR_ENVIAR);
			
			ArrayList lstDocumentos = sqlReporteDAO.listarReporteDocumentos(filtroBusquedaVO);
			
			request.getSession().setAttribute(SessionConstants.LISTA_REPORTE_DOCUMENTOS, lstDocumentos);
			
			return mapping.findForward("documentosOficinas");
		}catch(Exception e){
			logger.error("[STD]: Error en generarReporteDocumentos "+e.getMessage());
			e.printStackTrace();
			return mapping.findForward("error");
		}
	}
	
	public ActionForward exportarReporteDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("xlsReporteDocumentos");
	}
	
	public ActionForward excelReporteDocumentos(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		return mapping.findForward("excelReporteDocumentos");
	}
	
}
